Use accessor functions to access GtkColorSelectionDialog
authorJavier Jardón <jjardon@gnome.org>
Wed, 2 Jun 2010 02:24:16 +0000 (04:24 +0200)
committerJavier Jardón <jjardon@gnome.org>
Tue, 13 Jul 2010 17:40:46 +0000 (19:40 +0200)
demos/gtk-demo/colorsel.c
docs/tools/widgets.c
examples/colorsel/colorsel.c
gtk/gtkcolorbutton.c
tests/testgtk.c

index db5d542df3cd6537c28600c9ec867278eecc004d..b4f5cb9967dcfcf1d7ca8517138cf3ae36e8d948 100644 (file)
@@ -41,13 +41,15 @@ change_color_callback (GtkWidget *button,
 {
   GtkWidget *dialog;
   GtkColorSelection *colorsel;
+  GtkColorSelectionDialog *selection_dialog;
   gint response;
   
   dialog = gtk_color_selection_dialog_new ("Changing color");
 
   gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (window));
-  
-  colorsel = GTK_COLOR_SELECTION (GTK_COLOR_SELECTION_DIALOG (dialog)->colorsel);
+
+  selection_dialog = GTK_COLOR_SELECTION_DIALOG (dialog);
+  colorsel = GTK_COLOR_SELECTION (gtk_color_selection_dialog_get_color_selection (selection_dialog));
 
   gtk_color_selection_set_previous_color (colorsel, &color);
   gtk_color_selection_set_current_color (colorsel, &color);
index 226db88d446303624379634be4d96c6c1e5ee6d2..000e232a8f2bf1905d80adbd299b898fa6016faa 100644 (file)
@@ -612,10 +612,12 @@ create_colorsel (void)
   WidgetInfo *info;
   GtkWidget *widget;
   GtkColorSelection *colorsel;
+  GtkColorSelectionDialog *selection_dialog;
   GdkColor color;
 
   widget = gtk_color_selection_dialog_new ("Color Selection Dialog");
-  colorsel = GTK_COLOR_SELECTION (GTK_COLOR_SELECTION_DIALOG (widget)->colorsel);
+  selection_dialog = GTK_COLOR_SELECTION_DIALOG (widget);
+  colorsel = GTK_COLOR_SELECTION (gtk_color_selection_dialog_get_color_selection (selection_dialog));
 
   color.red   = 0x7979;
   color.green = 0xdbdb;
index 9d3671de697fd051e032af53d6f7ade1ec33bc77..d5eb68634dc8b4fc4bc832b76173a7680b612d0d 100644 (file)
@@ -27,6 +27,7 @@ static gboolean area_event( GtkWidget *widget,
   gint handled = FALSE;
   gint response;
   GtkColorSelection *colorsel;
+  GtkColorSelectionDialog *selection_dialog;
 
   /* Check if we've received a button pressed event */
 
@@ -39,7 +40,8 @@ static gboolean area_event( GtkWidget *widget,
         colorseldlg = gtk_color_selection_dialog_new ("Select background color");
 
       /* Get the ColorSelection widget */
-      colorsel = GTK_COLOR_SELECTION (GTK_COLOR_SELECTION_DIALOG (colorseldlg)->colorsel);
+      selection_dialog = GTK_COLOR_SELECTION_DIALOG (colorseldlg);
+      colorsel = GTK_COLOR_SELECTION (gtk_color_selection_dialog_get_colorsel (selection_dialog));
 
       gtk_color_selection_set_previous_color (colorsel, &color);
       gtk_color_selection_set_current_color (colorsel, &color);
index 0f4e9519015d81e855c3407306c56d4259be238c..38db50d9e2b921bc56e4702357c570bf7ef25180 100644 (file)
@@ -653,8 +653,10 @@ dialog_ok_clicked (GtkWidget *widget,
 {
   GtkColorButton *color_button = GTK_COLOR_BUTTON (data);
   GtkColorSelection *color_selection;
+  GtkColorSelectionDialog *selection_dialog;
 
-  color_selection = GTK_COLOR_SELECTION (GTK_COLOR_SELECTION_DIALOG (color_button->priv->cs_dialog)->colorsel);
+  selection_dialog = GTK_COLOR_SELECTION_DIALOG (color_button->priv->cs_dialog);
+  color_selection = GTK_COLOR_SELECTION (gtk_color_selection_dialog_get_color_selection (selection_dialog));
 
   gtk_color_selection_get_current_color (color_selection, &color_button->priv->color);
   color_button->priv->alpha = gtk_color_selection_get_current_alpha (color_selection);
@@ -699,6 +701,7 @@ static void
 gtk_color_button_clicked (GtkButton *button)
 {
   GtkColorButton *color_button = GTK_COLOR_BUTTON (button);
+  GtkColorSelection *color_selection;
   GtkColorSelectionDialog *color_dialog;
 
   /* if dialog already exists, make sure it's shown and raised */
@@ -706,6 +709,7 @@ gtk_color_button_clicked (GtkButton *button)
     {
       /* Create the dialog and connects its buttons */
       GtkWidget *parent;
+      GtkWidget *ok_button, *cancel_button;
       
       parent = gtk_widget_get_toplevel (GTK_WIDGET (color_button));
       
@@ -721,28 +725,34 @@ gtk_color_button_clicked (GtkButton *button)
          gtk_window_set_modal (GTK_WINDOW (color_dialog),
                                gtk_window_get_modal (GTK_WINDOW (parent)));
        }
+
+      g_object_get (color_dialog,
+                    "ok-button", &ok_button,
+                    "cancel-button", &cancel_button,
+                    NULL);
       
-      g_signal_connect (color_dialog->ok_button, "clicked",
+      g_signal_connect (ok_button, "clicked",
                         G_CALLBACK (dialog_ok_clicked), color_button);
-      g_signal_connect (color_dialog->cancel_button, "clicked",
+      g_signal_connect (cancel_button, "clicked",
                        G_CALLBACK (dialog_cancel_clicked), color_button);
       g_signal_connect (color_dialog, "destroy",
                         G_CALLBACK (dialog_destroy), color_button);
     }
 
   color_dialog = GTK_COLOR_SELECTION_DIALOG (color_button->priv->cs_dialog);
+  color_selection = GTK_COLOR_SELECTION (gtk_color_selection_dialog_get_color_selection (color_dialog));
 
-  gtk_color_selection_set_has_opacity_control (GTK_COLOR_SELECTION (color_dialog->colorsel),
+  gtk_color_selection_set_has_opacity_control (color_selection,
                                                color_button->priv->use_alpha);
   
-  gtk_color_selection_set_previous_color (GTK_COLOR_SELECTION (color_dialog->colorsel), 
+  gtk_color_selection_set_previous_color (color_selection,
                                          &color_button->priv->color);
-  gtk_color_selection_set_previous_alpha (GTK_COLOR_SELECTION (color_dialog->colorsel), 
+  gtk_color_selection_set_previous_alpha (color_selection,
                                          color_button->priv->alpha);
 
-  gtk_color_selection_set_current_color (GTK_COLOR_SELECTION (color_dialog->colorsel), 
+  gtk_color_selection_set_current_color (color_selection,
                                         &color_button->priv->color);
-  gtk_color_selection_set_current_alpha (GTK_COLOR_SELECTION (color_dialog->colorsel), 
+  gtk_color_selection_set_current_alpha (color_selection,
                                         color_button->priv->alpha);
 
   gtk_window_present (GTK_WINDOW (color_button->priv->cs_dialog));
index b6a1b7aeb37f3c8dfc2cf037d96ee6eafb6ab089..b661be8731bdfadbd61e1e889caf100f8ac91591 100644 (file)
@@ -4137,12 +4137,15 @@ static void
 cmw_color (GtkWidget *widget, GtkWidget *parent)
 {
     GtkWidget *csd;
+    GtkWidget *colorsel;
+    GtkWidget *ok_button, *cancel_button;
 
     csd = gtk_color_selection_dialog_new ("This is a modal color selection dialog");
 
     gtk_window_set_screen (GTK_WINDOW (csd), gtk_widget_get_screen (parent));
 
-    gtk_color_selection_set_has_palette (GTK_COLOR_SELECTION (GTK_COLOR_SELECTION_DIALOG (csd)->colorsel),
+    colorsel = gtk_color_selection_dialog_get_color_selection (GTK_COLOR_SELECTION_DIALOG (csd));
+    gtk_color_selection_set_has_palette (GTK_COLOR_SELECTION (colorsel),
                                          TRUE);
     
     /* Set as modal */
@@ -4154,9 +4157,14 @@ cmw_color (GtkWidget *widget, GtkWidget *parent)
     g_signal_connect (csd, "destroy",
                      G_CALLBACK (cmw_destroy_cb), NULL);
 
-    g_signal_connect_swapped (GTK_COLOR_SELECTION_DIALOG (csd)->ok_button,
+    g_object_get (csd,
+                  "ok-button", &ok_button,
+                  "cancel-button", &cancel_button,
+                  NULL);
+
+    g_signal_connect_swapped (ok_button,
                             "clicked", G_CALLBACK (gtk_widget_destroy), csd);
-    g_signal_connect_swapped (GTK_COLOR_SELECTION_DIALOG (csd)->cancel_button,
+    g_signal_connect_swapped (cancel_button,
                             "clicked", G_CALLBACK (gtk_widget_destroy), csd);
     
     /* wait until destroy calls gtk_main_quit */